﻿using System;
using System.Linq;
using Z16.BLI;
using System.Data;

namespace Z16.SITE
{
    public partial class addCadUsuario : System.Web.UI.Page
    {
        public string yyyyMMdd { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if ((Session["CodPerfil"] == null) || (Session["CodUsr"] == null))
                {
                    Response.Write("<script>window.location=\'Login.aspx';</script>");
                    return;
                }

                carregarPerfil();

                var codUsu = Request.QueryString["id"];
                if (codUsu != null)
                {
                    this.CarregarUsuario(int.Parse(codUsu));
                }
            }
        }

        private void carregarPerfil()
        {
            Usuario usuario = new Usuario();

            ddlPerfil.Items.Clear();
            ddlPerfil.AppendDataBoundItems = true;
            ddlPerfil.Items.Insert(0, "Selecione");

            ddlPerfil.DataSource = usuario.listarPerfil();
            ddlPerfil.DataValueField = "intCodPerfil";
            ddlPerfil.DataTextField = "strNomePerfil";
            ddlPerfil.DataBind();
        }

        protected void btnGravar_Click(object sender, EventArgs e)
        {
            divSucess.Visible = false;
            divError.Visible = false;

            try
            {
                if (txtNome.Text != "")
                {
                    var intCodPerfil = Convert.ToInt32(ddlPerfil.SelectedValue);

                    System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("pt-BR");

                    DateTime dateDataNasc = Convert.ToDateTime(txtDtNasc.Text, culture);
                    var intCPF = txtCPF.Text.Replace("-", "").Replace(".", "");

                    Usuario usuario = new Usuario();
                    var ret = usuario.incUsuario(txtNome.Text, intCPF, dateDataNasc, txtLogin.Text, txtSenha.Text, txtEmail.Text, intCodPerfil);

                    var retorno = ret.Split(';');

                    this.ExibirMensagem(retorno[0], retorno[1]);
                }
                else
                {
                    divError.Visible = true;
                }
            }
            catch
            {
                divError.Visible = true;
            }
        }

        protected void CarregarUsuario(int codUsu)
        {
            Usuario usuario = new Usuario();

            DataTable dt = usuario.ListarUsuarios(codUsu,null,null);
            var usu = dt.AsEnumerable().ToList().First();

            txtNome.Text = usu[1] != null ? usu[1].ToString() : "";
            txtCPF.Text = usu[2] != null ? usu[2].ToString() : "";
            txtDtNasc.Text = usu[3] != null ? usu[3].ToString() : "";
            txtLogin.Text = usu[4] != null ? usu[4].ToString() : "";
            txtSenha.Text = usu[5] != null ? usu[5].ToString() : "";
            txtEmail.Text = usu[6] != null ? usu[6].ToString() : "";
            ddlPerfil.SelectedValue = usu[7] != null ? usu[7].ToString() : "";

        }

        protected void ExibirMensagem(string erro, string mensagem)
        {
            if (erro.Equals("0"))
            {
                divSucess.Visible = true;
                lblMsg.Text = mensagem;
            }
            else
            {
                divError.Visible = true;
                lblErro.Text = mensagem;
            }
        }
    }
}